Video games and other virtual simulations have become increasingly realistic due to increased processing speeds and larger, more affordable storage capacities in computing devices. These advancements have allowed virtual environment designers to incorporate some limited effects of real world physics in video games and other virtual simulations. For this reason, many video games now incorporate physics engines that simulate real world physics using mathematical models. However, realistic audio has been notoriously difficult to simulate, however. Attempts to use wave equations that model sound propagated in a virtual environment and perceived at a listener location have been unfeasible to implement due to real-time processing and storage constraints. Because of this many game studios hand-code video game audio in order to imitate the effect virtual environments have on sound propagated within those environments.
In particular, the space required to store characteristics (i.e., the impulse responses) of an environment increases super-linearly as environment volume increases and the impulse responses are generally chaotic, making them less suitable for compression. Furthermore, calculating propagated sound at a listener location in an environment using physics models requires convolving a source audio signal with the impulse response of the environment between the source location and the listener location. Convolution has a high processing cost. Typical video game console, desktop computer, and mobile device hardware affords only enough processing power to calculate the propagated audio for up to ten sources at any one time due to the constraints put on the amount of total processing allocated to audio processing for a video game. In many video games, there are up to hundreds of sources of audio signals in the video game so there is currently no way to conduct the number of convolutions required to model the propagated audio signal. Furthermore, when an environment contains sources that are moving quickly through the environment, the impulse response to be convolved with the audio signal changes rapidly, causing reverberation in the scene to be clipped, which a user may perceive as system lag.